The present invention relates in general to the field of television and in particular to the field of interactive television.
Advances in telecommunications and computing technology are leading to the provision of interactive television (TV) on a large scale. Interactive TV involves the use of video gateways and video transport of sufficient bandwidth for video programmers and enhanced video gateway providers to offer their services to residential and business subscribers. Where such facilities are available, subscribers will not only be able to access these services by passively receiving them, but will also be able for the first time to interact with the service providers by communicating requests and commands to the providers via the same path over which the programming services are provided (or even via other paths or drivers).
Interactive TV service is capable of supporting at least the following services: (1) traditional broadcast and cable television programming; (2) video services, such as pay-per-view (PPV), near video-on-demand (NVOD), video-on-demand (VOD), promo channels, electronic program guides, etc.; (3) cable delivered PC-based services; and (4) interactive services, through the use of a combination of compression and digital video technologies. Interactive TV service also permits menuing capabilities and upstream signaling from subscribers to service providers. A subscriber interactive TV connection may, for example, provide subscribers with a screen of available enhanced video gateway providers and/or video programmers and their telephone numbers, or a menu to interactively order services and/or programs.
Interactive television may be provided over any number of paths, including coaxial cable or optical fiber, hybrid fiber/coaxial, or any other suitable path that accommodates sufficient bandwidth for desired analog and digital video channels as well as other telecommunications services. Content Providers may include, for example, providers of interactive or non-interactive over-the-air programming such as commercial television stations, cable programming such as weather, travel and entertainment channels, game channels, and on-line services of various types.
Interactive video enables a subscriber to request that an xe2x80x9cinteractive sessionxe2x80x9d be established between an xe2x80x9cinteractive serverxe2x80x9d or similar platform maintained by an interactive video service provider and a xe2x80x9cclientxe2x80x9d terminal device at the subscriber""s premises. An interactive session is a two-way communication relationship, and is a precondition to interactive video services being provided to a subscriber""s terminal device. Such a session utilizes the necessary downstream bandwidth and resources (defined below) for delivering interactive video service and the necessary upstream bandwidth from the subscriber""s terminal device to issue commands to the interactive server. The terminal device may take the form of what has been termed a xe2x80x9cset top boxxe2x80x9d (STB), or may be any other device capable of performing at least the following functions: (1) exchanging messages (including video-related data) over a network with the interactive server; (2) receiving messages from a user input device, such as a hand-held remote control unit; (3) translating video signals from a network-native format into a format that can be used by the television or display device; and (4) providing a video signal to a television or other display device. A STB may also be capable of performing other functions, such as: (1) inserting alphanumeric or graphical information into the video stream in order to xe2x80x9coverlayxe2x80x9d that information on the video image; (2) providing graphic or audio feedback to a user; or (3) possibly the most basic function, simply routing a traditional broadcast signal to a viewing device to which the STB is connected.
The STB xe2x80x9cclientxe2x80x9d is xe2x80x9cservedxe2x80x9d by a facility which may be operated and maintained by the video service provider. This xe2x80x9cinteractive serverxe2x80x9d provides, in response to a subscriber request, access to an xe2x80x9capplication,xe2x80x9d which may be something as straightforward as a video program, or may itself interact with the subscriber by transmitting, for example, a subscriber prompt or menu to allow the subscriber to assert a desired selection from among a set of given commands for the interactive server to carry out.
This added functionality is in large part the result of a historically unprecedented convergence of communications and computing technology. It makes possible, for the first time, features such as the following. In the game media environment, a subscriber may download video games or even play them interactively with the interactive server and/or with other subscribers. An interactive service subscriber may order xe2x80x9ctime shift TV,xe2x80x9d in which a particular program may be viewed at a time following its ordinary broadcast time. A subscriber may also selectively view desired parts of transactional, informational or advertising services. For example, a subscriber may view information on the weather predictions for a given location or at a given time, gather information relating to a particular sporting event or team, obtain news on demand, or query a system regarding a particular real estate market. Alternatively, a subscriber may participate in interactive entertainment programs, such as interactive game shows, interactive lottery or gambling, or request musical selections. Subscribers interested in educational programming, such as a school or a family residence, may invoke interactive xe2x80x9cedutainmentxe2x80x9d or xe2x80x9chow-toxe2x80x9d programs. Interactive communication services, such as on-line services historically provided by the public telephone network, may also be accessed via interactive TV, which permits not only the rapid transfer of files to the subscriber but also interaction with other subscribers.
The combination of broadcast and interactive applications over interactive TV (e.g., interactive programs) creates a new mode of communication in which a user, when informed of the availability of an interactive application relating to the subject matter of a broadcast program, may invoke the application to investigate that subject matter more thoroughly and according to his or her own tastes.
Additionally, television viewers, who are accustomed to choosing at will between the available channels with instantaneous results, will expect to pass from one medium (e.g., broadcast) to another (e.g., interactive) xe2x80x9cseamlesslyxe2x80x9d with the push of a button. To accommodate their viewer""s needs, programmers may wish to provide broadcast programming, such as a commercial advertisement or a news program, and make available in the context of that program a related interactive television program.
The means by which interactive television and broadcast television are provided, however, are generally quite different. The two media, for example, are typically supplied from different sources and use different modulation techniques over different transmission paths. The originating source of broadcast programming is likely to be remote from those subscribers interested in invoking an interactive service, making telecommunication between the parties over a dedicated network prohibitively expensive and complex. By contrast, interactive servers, in order to avoid the expense of high bandwidth communications over such distances, can be located geographically close to a corresponding set of subscribers, unlike the programming sources or xe2x80x9cContent Providers.xe2x80x9d An interactive server can therefore efficiently provide exclusive interactive access to a large number of applications by a large number of interactive subscribers.
The technical differences between broadcast programming and interactive applications, combined with the difficulties of providing interactive services at any rate, make the provision of a smooth transition between interactive and broadcast television a difficult proposition and a seamless transition from broadcast television to interactive television and back an elusive goal.
The present invention provides an approach for viewer-friendly and virtually instantaneous transitioning from a first analog based television program to a second program, particularly an interactive application program, and further permits a similarly rapid and easily accomplished return to viewing the first program.
To accomplish this convenient and virtually instantaneous transition between programs such as a broadcast program and an interactive application or program, the present invention provides a system for permitting a provider of program content to furnish a video service provider with content, such as an interactive program or application, and for permitting the video service provider to transmit to the Content Provider an identifying code or address, such as an interactive callback address. The video service provider associates this identifying code or address with a location at which the program or application will be stored. The identifying code or callback address may be a program-specific code that can be used by subscribers to invoke the program from the video services provider directly. Alternatively, the identifying code may be a common identifying code or callback address (which might be called a xe2x80x9cwell-known callback addressxe2x80x9d), used by all subscribing viewers to access a program- or application-specific identifying code or callback address, which is in turn used to invoke the program.
According to the present invention, Content Providers may transmit the identifying code or callback address for a second program in coordination with a first program, so that viewers of the first program, who have access to systems operated by the video service provider, may invoke the second program, which may be an interactive program or application, using that identifying code or callback address.
Also according to the present invention, the Content Provider may transmit the identifying code or callback address in the first program signal, for example, in the vertical blanking interval of the video stream for that program. Alternatively, the identifying code or callback address could be provided in any other suitable out-of-band channel, especially one that is capable of being synchronized with the program signal, so that the identifying code or callback address may be transmitted at appropriate times during the program.
Additionally, the present invention permits the Content Provider to transmit with the identifying code or callback address additional information, such as information to be used at the subscriber site to generate a screen image indicating the availability of additional content from the video service provider.
The present invention also provides for an interactive server, which may be operated and maintained by the video service provider. The interactive server can service requests from Content Providers for identifying codes or callback addresses, such as interactive callback addresses, can store program content from Content Providers, such as interactive programs or applications, and can associate that content with an appropriate identifying code or address, such as an interactive callback address. The interactive server according to the present invention can also service requests for that content from subscribing viewers.
The subscribing viewers are provided with a set top box or similar device adapted to be coupled to a video distribution network to which one or more video service provider systems are also coupled, and also adapted to be coupled to a television, computer or any other suitable display device to reside either outside of, or within, the housing of the display device. The set top box includes a receiving set capable of receiving broadband signals over the video distribution network and possibly also over the air. The set top box also includes at least one processor coupled to the receiving set and programmed to detect the presence and content of an identifying code or callback address, such as an interactive callback address, received by the receiving set either in a program signal (typically in the vertical blanking interval of that signal) or possibly in an out-of-band signal. The set top box processor is also programmed to store the identity of the channel on which the program is being received in one of at least one information storage devices or memory means to which the processor is coupled. The processor is also programmed to detect and store information accompanying the transmission of the identifying code or callback address regarding an image to be displayed on the display device (such as a video screen xe2x80x9cbuttonxe2x80x9d or xe2x80x9ciconxe2x80x9d) to indicate the availability of content, such as an interactive application, from a video service provider. Alternatively, such information regarding the image to be displayed on the television or other display device may be pre-stored in an appropriate information storage device to which the processor is coupled. The processor is also coupled to a means for generating a video image based on the received or pre-stored xe2x80x9cbuttonxe2x80x9d or xe2x80x9ciconxe2x80x9d information, or alternatively, is programmed to generate the video signal and is coupled to the display device in such a manner as to provide such a signal to that device.
Furthermore, the set top box processor is adapted to establish communication over the video distribution network with the video service provider, upon receiving a request from the subscribing viewer in response to seeing the screen button or icon. The processor may first store in the information storage device the identity of the channel on which the program then being viewed is being transmitted. A communication session over the network to the video service provider is then established by transmitting a message including the identifying code or callback address, such as the interactive callback address. If the identification code or callback address is a common identification code (for example, a xe2x80x9cwell-known callback addressxe2x80x9d) the video service provider returns the program- or application-specific identification code or callback address, which the processor then may use to invoke from the video service provider the associated program or application.
The video service provider transmits to the set top box the identity of a network service (i.e., a network address) or a channel on which the requested program will be provided, and the set top box processor initiates a session with the indicated network service and/or causes the receiving set to tune to the channel. The set top box then receives the program or application from the video service provider. During that session, communication between the set top box and the video service provider may be two-way.
When the program or application is terminated, or when the user signals the set top box that viewing the second program or application is no longer desired, the communication session is terminated. The processor then retrieves the identity of the first program from the information storage device, and causes the receiving set to re-tune to the first program to which the viewer had been tuned.
It is accordingly an object of the present invention to provide a system for permitting a Content Provider to furnish a video service provider with program content, such as an interactive application or program, and for permitting the video service provider to transmit to the Content Provider an identifying code or address, such as an interactive callback address or a xe2x80x9cwell-known interactive callback address.xe2x80x9d
It is an object of the present invention to provide a system for permitting a Content Provider to furnish an identifying code or callback address along with a program for directly invoking another program, such as an interactive program furnished to subscribing viewers by the video service provider.
It is a further object of the present invention to provide a system for permitting a Content Provider to furnish a common identifying code or callback address (such as a xe2x80x9cwell-known interactive callback addressxe2x80x9d), used by all subscribing viewers to access a program- or application-specific identifying code or callback address that, in turn, is used to invoke the program content from the video service provider.
It is an additional object of the present invention to permit a Content Provider to transmit the identifying code or callback address in coordination with the program signal, such as in the vertical blanking interval of the video stream.
It is a further object of the present invention to permit a Content Provider to optionally transmit the identifying code or callback address in coordination with the program signal, but in any suitable out-of-band channel.
It is yet another object of the present invention to permit the Content Provider to transmit with the identifying code or callback address additional information, such as information to be used at the subscriber site to generate a screen image indicating the availability of additional content from the video service provider.
A further object of the present invention is to provide an interactive server capable of servicing requests from Content Providers for identifying codes or addresses for program content and to receive and store such content in association with the identifying code.
An additional object of the present invention is to provide an interactive server according to the present invention that can service requests for program content from subscribing viewers.
Another object of the present invention is to provide subscribing viewers with a set top box for detecting the presence and content of an identifying code or callback address transmitted in coordination with a program, to store for later retrieval the identity of the channel on which the program is being received, to generate a screen image for display on a display device based on information either prestored or transmitted with the identifying code, to establish a session with the video services provider using the code, and upon termination of the session, to fetch the identity of, and re-tune to, the channel the subscriber was originally watching.